$(function(){
    //定义一个对象，用于保存需要使用的变量
    let object={
        key:'',
        type:'',
        state:'',
        page:1,
        perpage:10,
        count:''
    }
    articleQuery();
    categoryList();
    //动态渲染页面
    function articleQuery(){
        $.ajax({
            url:'http://localhost:8080/api/v1/admin/article/query',
            data:object,
            headers:{
                Authorization :localStorage.getItem('token')
            },
            success(res){
                // console.log(res)
                let list=res.data.data
                //获取总条数
                object.count=res.data.totalCount
                // console.log(object.count)
                $('tbody').html(template('tr',{list}))
                render(object.count)
            }
        })
    };


    //分页
    function render(count){
        var laypage = layui.laypage;
        // console.log(count)
        
        //执行一个laypage实例
        laypage.render({ 
        limit:object.perpage,       //每页显示的数量,默认是10
        elem: 'pager', //注意，这里的 test1 是 ID，不用加 # 号
        count: count, //数据总数，从服务端得到
        jump: function(obj, first){
            //obj包含了当前分页的所有参数，比如：
            // console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
            // console.log(obj.limit); //得到每页显示的条数
            
            //首次不执行
            if(!first){
                object.page=obj.curr
                articleQuery()
            }
        },
        //起始页设置为当前页
        curr:object.page
        });
    };

    //分类筛选
    function categoryList(){
        $.ajax({
            url:'http://localhost:8080/api/v1/admin/category/list',
            headers:{
                Authorization :localStorage.getItem('token')
            },
            success(res){
                if(res.code==200){
                    // console.log(res)
                    let html=res.data.reduce((beforeHtml,value)=>beforeHtml+=`<option value="${value.id}">${value.name}</option>`,`<option value="">所有分类</option>`)
                    $('#selCategory').html(html)
                }else{
                    console.log('失败',res)
                }
            }
        })
    };
    //筛选
    $('#btnSearch').on('click',function(){
        object.page=1;
        object.key=$('#aname').val().trim();
        object.type=$('#selCategory option:selected').val();
        object.state=$('#selStatus option:selected').val();
        // console.log(object.key,object.type,object.state)
        articleQuery()
    });
    //筛选重置
    $('#btnSearch').next().on('click',function(){
        
        object.key='';
        object.type='';
        object.state='';
        $('#aname').val('');
        $('#selCategory option[value|=""]').prop('selected','selected')
        $('#selStatus option[value|=""]').prop('selected','selected')
        articleQuery()
    });

    //删除文章
    $('tbody').on('click','.delete',function(){
        let id=$(this).parents('tr').data('id')
        layer.confirm('你确定要删除吗？',(index)=>{
            $.ajax({
                url:'http://localhost:8080/api/v1/admin/article/delete',
                type:'post',
                data:{id},
                headers:{
                    Authorization :localStorage.getItem('token')
                },
                success(res){
                    if(res.code==200){
                        // console.log(res.msg)
                        layer.close(index)
                        articleQuery()
                    }else{
                        console.log(res.msg)
                    }
                }
            })
            
        })
        
    });
    //编辑文章
    $('tbody').on('click','.btn-default',function(){
        $(this).prop('href',`article_edit.html?id=${$(this).parents('tr').data('id')}`)
    });
})